package Demo;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 苏李涛
 * Date: 2024-10-14
 * Time: 9:45
 */
public class Demo4 {
    /**
     * 打破请求保持方式加锁：
     * @param args
     */
        public static void main(String[] args) throws InterruptedException {
            Object locker1 = new Object();
            Object locker2 = new Object();

            Thread t1 = new Thread(()->{
                synchronized (locker1){
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                synchronized (locker2){
                    System.out.println("t1两个锁都获取了");
                }
            });

            Thread t2 = new Thread(()->{
                synchronized (locker2){
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                synchronized (locker1){
                    System.out.println("t2两个锁都获取了");
                }
            });

            t1.start();
            t2.start();
            t1.join();
            t2.join();
        }
}
